package com.ourteam.product.requirement.dao;

import net.dao.IDataAccessInterface;


/**
 * Template Name : DAO接口模板
 * Template Version : 1
 * Template Last Modfiy Date : Thu Sep 21 11:14:14 CST 2017
 * Auto Generate Date : 2018-05-03 16:45:10
  * Warning ! This file will be overwrite when regenerate !
  *
 */
public interface IBaseProductFeatureVersionRelateDAO
    extends IDataAccessInterface<ProductFeatureVersionRelate, ProductFeatureVersionRelateDAOQueryBean> {
    /**
        *  Mapped Entity Name
        */
    static final String EntityName = "PRODUCT_FEATURE_VERSION_RELATE";

    /**
     * Mapped Field ID
    */
    static final String Id = "PRODUCT_FEATURE_VERSION_RELATE.ID";

    /**
     * Mapped Field PRODUCT_FEATURE_ID
    */
    static final String ProductFeatureId = "PRODUCT_FEATURE_VERSION_RELATE.PRODUCT_FEATURE_ID";

    /**
     * Mapped Field PRODUCT_VERSION_ID
    */
    static final String ProductVersionId = "PRODUCT_FEATURE_VERSION_RELATE.PRODUCT_VERSION_ID";

    /**
     * Mapped Field REMARKS
    */
    static final String Remarks = "PRODUCT_FEATURE_VERSION_RELATE.REMARKS";

    /**
     * Mapped Field STATUS
    */
    static final String Status = "PRODUCT_FEATURE_VERSION_RELATE.STATUS";

    /**
     * Delete Data
     * @param final long id
     * @throws Exception
     */
    void delete(final long id) throws Exception;

    /**
         * Find Data By Primary Key
         * @param  final long id
         * @throws Exception
         */
    ProductFeatureVersionRelate findById(final long id)
        throws Exception;

    /**
         * Query Related ProductFeature
         * @param aQueryBean
         * @throws Exception
         */
    com.ourteam.product.requirement.dao.ProductFeature[] queryProductFeature(
        final ProductFeatureVersionRelateDAOQueryBean queryBean)
        throws Exception;

    /**
         * Query Related ProductFeature Selective
         * @param queryBean
         * @throws Exception
         */
    java.util.Map<String, Object>[] queryProductFeatureSelective(
        final ProductFeatureVersionRelateDAOQueryBean queryBean)
        throws Exception;

    /**
         * Update Related ProductFeature
         * @param aProductFeature
         * @param queryBean
         * @throws Exception
         */
    void updateProductFeature(
        final com.ourteam.product.requirement.dao.ProductFeature aProductFeature,
        ProductFeatureVersionRelateDAOQueryBean queryBean)
        throws Exception;

    /**
         * Delete Related ProductFeature
         * @param queryBean
         * @throws Exception
         */
    void deleteProductFeature(
        final ProductFeatureVersionRelateDAOQueryBean queryBean)
        throws Exception;

    /**
         * Query Related ProductVersion
         * @param aQueryBean
         * @throws Exception
         */
    com.ourteam.product.requirement.dao.ProductVersion[] queryProductVersion(
        final ProductFeatureVersionRelateDAOQueryBean queryBean)
        throws Exception;

    /**
         * Query Related ProductVersion Selective
         * @param queryBean
         * @throws Exception
         */
    java.util.Map<String, Object>[] queryProductVersionSelective(
        final ProductFeatureVersionRelateDAOQueryBean queryBean)
        throws Exception;

    /**
         * Update Related ProductVersion
         * @param aProductVersion
         * @param queryBean
         * @throws Exception
         */
    void updateProductVersion(
        final com.ourteam.product.requirement.dao.ProductVersion aProductVersion,
        ProductFeatureVersionRelateDAOQueryBean queryBean)
        throws Exception;

    /**
         * Delete Related ProductVersion
         * @param queryBean
         * @throws Exception
         */
    void deleteProductVersion(
        final ProductFeatureVersionRelateDAOQueryBean queryBean)
        throws Exception;

    static public interface DataProperty {
        /**
         * Attribute id
         */
        static final String Id = "id";

        /**
         * Attribute productFeatureId
         */
        static final String ProductFeatureId = "productFeatureId";

        /**
         * Attribute productVersionId
         */
        static final String ProductVersionId = "productVersionId";

        /**
         * Attribute remarks
         */
        static final String Remarks = "remarks";

        /**
         * Attribute status
         */
        static final String Status = "status";
    }

    static public interface _DataObjectProperty extends DataProperty {
    }
}
